This is how percentile normalization is done:
perc.rank = function(x) {trunc(rank(as.numeric(x)))/length(x)}
reps_norm = as.data.frame( apply(reps,2, FUN = perc.rank))
For the difference plots Fore each replicate I calculated “K562_SON - HCT116_SON” and “K562_LMNB1 - HCT116_LMNB1” and plotted as below. Negative numbers in difference plots indicate closer to the axis compartment.